package org.dromara.oce.domain.bo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.oce.domain.OceMaterialEverydayCensus;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @desc:巨量素材每日数据统计表
 * @autor: hhl
 * @date: 2024-09-29 19:03:14<br>
 */
@Data
@AutoMapper(target = OceMaterialEverydayCensus.class, reverseConvertGenerate = false)
public class OceMaterialEverydayCensusBo implements Serializable {

    /**
     * 广告每日数据记录id
     */
    private Long id;
    /**
     * 当日时间戳（yyyy-MM-dd格式的时间戳)
     */
    private Long timestamps;
    /**
     * 当天日期
     */
    private String thatDayDate;
    /**
     * 第三方广告主id
     */
    private String thirdAdvertiserId;
    /**
     * 广告主账户名
     */
    private String thirdAdvertiserName;
    /**
     * 巨量应用平台编码
     */
    private String thirdAdvertiserAppCode;
    /**
     * 项目id
     */
    private String cdpProjectId;
    /**
     * 项目的名称
     */
    private String cdpProjectName;
    /**
     * 广告id
     */
    private String cdpPromotionId;
    /**
     * 广告的名称
     */
    private String cdpPromotionName;
    /**
     * 素材id
     */
    private String materialId;
    /**
     * 视频素材名称
     */
    private String adPlatformMaterialName;
    /**
     * 总消耗
     */
    private BigDecimal statCost;
    /**
     * 展示数
     */
    private Integer showCnt;
    /**
     * 平均千次展现费用=总消耗/展示数*1000
     */
    private BigDecimal cpmPlatform;
    /**
     * 点击数
     */
    private Integer clickCnt;
    /**
     * 点击率=点击数/展示数*100%
     */
    private BigDecimal ctr;
    /**
     * 平均点击单价=总花费/点击数
     */
    private BigDecimal cpcPlatform;
    /**
     * 转化数=付费数*回传率
     */
    private Integer convertCnt;
    /**
     * 转化成本=总花费/转化数
     */
    private BigDecimal conversionCost;
    /**
     * 转化率=转化数/点击数*100%
     */
    private BigDecimal conversionRate;
    /**
     * 深度转化数
     */
    private Integer deepConvertCnt;
    /**
     * 深度转化成本=总花费/深度转化数
     */
    private BigDecimal deepConvertCost;
    /**
     * 深度转化率=深度转化数/转化数*100%
     */
    private BigDecimal deepConvertRate;
    /**
     * 激活数
     */
    private Integer active;
    /**
     * 激活成本=总消耗/激活数
     */
    private BigDecimal activeCost;
    /**
     * 激活率=激活数/点击数*100%
     */
    private BigDecimal activeRate;
    /**
     * 首次付费数
     */
    private Integer activePay;
    /**
     * 首次付费成本=消耗/付费次数
     */
    private BigDecimal activePayCost;
    /**
     * 首次付费率=首次付费数/激活数
     */
    private BigDecimal activePayRate;
    /**
     * 付费次数
     */
    private Integer gamePayCount;
    /**
     * 付费成本
     */
    private BigDecimal gamePayCost;
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    /**
     * 播放量
     */
    private Integer totalPlay;
    /**
     * 有效播放数
     */
    private Integer validPlay;
    /**
     * 有效播放成本=总花费/有效播放数
     */
    private BigDecimal validPlayCost;
    /**
     * 有效播放率=有效播放数/展示数
     */
    private BigDecimal validPlayRate;
    /**
     * 3秒播放数
     */
    private Integer playDuration3s;
    /**
     * 千次有效播放数
     */
    private Integer validPlayOfMille;
    /**
     * 千次有效播放成本
     */
    private BigDecimal validPlayCostOfMille;
    /**
     * 25%进度播放数
     */
    private Integer play25FeedBreak;
    /**
     * 50%进度播放数
     */
    private Integer play50FeedBreak;
    /**
     * 75%进度播放数
     */
    private Integer play75FeedBreak;
    /**
     * 99%进度播放数
     */
    private Integer play99FeedBreak;
    /**
     * 平均单次播放时长
     */
    private String averagePlayTimePerPlay;
    /**
     * 完播率
     */
    private BigDecimal playOverRate;
    /**
     * WiFi播放占比%
     */
    private BigDecimal wifiPlayRate;
    /**
     * 3秒卡片展现数
     */
    private Integer cardShow;
    /**
     * 点赞数
     */
    private Integer dyLike;
    /**
     * 评论量
     */
    private Integer dyComment;
    /**
     * 分享量
     */
    private Integer dyShare;
    /**
     * 不感兴趣数
     */
    private Integer dislikeCnt;
    /**
     * 举报数
     */
    private Integer reportCnt;
    /**
     * 挑战赛查看数
     */
    private Integer iesChallengeClick;
    /**
     * 音乐查看数
     */
    private Integer iesMusicClick;
    /**
     * POI点击数
     */
    private Integer locationClick;

    /**
     * 开始时间
     */
    @JsonIgnore
    @TableField(exist = false)
    private String startDate;

    /**
     * 结束时间
     */
    @JsonIgnore
    @TableField(exist = false)
    private String endDate;

    /**
     * 编辑名称
     */
    private String compileName;
    /**
     * 部门id
     */
    private Long deptId;
}
